home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Toolbox / Visual Basic Toolbox (P.I.E.)(1996).ISO / forms / qkform / default.qft (.txt) next >
Encoding:
Visual Basic Form  |  1995-01-26  |  8.8 KB  |  339 lines

  1. VERSION 2.00
  2. Begin Form frm 
  3.    BackColor       =   &H00C0C0C0&
  4.    Caption         =   "Form1"
  5.    ClientHeight    =   5820
  6.    ClientLeft      =   1095
  7.    ClientTop       =   1485
  8.    ClientWidth     =   7365
  9.    Height          =   6225
  10.    Left            =   1035
  11.    LinkTopic       =   "Form1"
  12.    ScaleHeight     =   5820
  13.    ScaleWidth      =   7365
  14.    Top             =   1140
  15.    Width           =   7485
  16.    Begin TextBox Text1 
  17.       FontBold        =   0   'False
  18.       FontItalic      =   0   'False
  19.       FontName        =   "MS Sans Serif"
  20.       FontSize        =   8.25
  21.       FontStrikethru  =   0   'False
  22.       FontUnderline   =   0   'False
  23.       Height          =   285
  24.       Left            =   3120
  25.       TabIndex        =   6
  26.       Top             =   1680
  27.       Width           =   1935
  28.    End
  29.    Begin MaskEdBox MaskedEdit1 
  30.       Height          =   375
  31.       Left            =   3000
  32.       PromptChar      =   "_"
  33.       TabIndex        =   5
  34.       Top             =   3360
  35.       Width           =   2055
  36.    End
  37.    Begin VScrollBar VScroll1 
  38.       Height          =   1215
  39.       Left            =   3960
  40.       TabIndex        =   4
  41.       Top             =   240
  42.       Width           =   255
  43.    End
  44.    Begin HScrollBar HScroll1 
  45.       Height          =   255
  46.       Left            =   1080
  47.       TabIndex        =   3
  48.       Top             =   720
  49.       Width           =   2295
  50.    End
  51.    Begin CommandButton btn 
  52.       Caption         =   "Command1"
  53.       FontBold        =   0   'False
  54.       FontItalic      =   0   'False
  55.       FontName        =   "MS Sans Serif"
  56.       FontSize        =   8.25
  57.       FontStrikethru  =   0   'False
  58.       FontUnderline   =   0   'False
  59.       Height          =   375
  60.       Left            =   360
  61.       TabIndex        =   2
  62.       Top             =   1680
  63.       Width           =   1215
  64.    End
  65.    Begin CheckBox chk 
  66.       BackColor       =   &H00C0C0C0&
  67.       Caption         =   "Check1"
  68.       Height          =   255
  69.       Left            =   360
  70.       TabIndex        =   1
  71.       Top             =   2280
  72.       Width           =   2055
  73.    End
  74.    Begin Data Data1 
  75.       BackColor       =   &H00808080&
  76.       Caption         =   "Data1"
  77.       Connect         =   ""
  78.       DatabaseName    =   ""
  79.       Exclusive       =   0   'False
  80.       ForeColor       =   &H00FFFFFF&
  81.       Height          =   270
  82.       Left            =   2520
  83.       Options         =   0
  84.       ReadOnly        =   0   'False
  85.       RecordSource    =   ""
  86.       Top             =   2280
  87.       Width           =   3135
  88.    End
  89.    Begin Label lbl 
  90.       BackColor       =   &H8000000F&
  91.       BackStyle       =   0  'Transparent
  92.       Caption         =   "Label1"
  93.       Height          =   255
  94.       Left            =   1680
  95.       TabIndex        =   0
  96.       Top             =   1680
  97.       Width           =   1095
  98.    End
  99. Dim GotFocusValue As String
  100. Dim ModAppend As Integer
  101. Dim ModEdit As Integer
  102. Dim NoMove As Integer
  103. Dim TotRec As Long
  104. Dim CurrRec As Long
  105. Dim JustUsedFind As Integer
  106. Dim JustSetRec As Integer
  107. Dim BookMrk
  108. DO_FOR TextBox
  109. Sub %CONTROLNAME%_GotFocus ()
  110. '///// Select text when got focus
  111.     SelectText Me.%CONTROLNAME%
  112.     GotFocusValue = %CONTROLNAME%
  113. End Sub
  114. Sub %CONTROLNAME%_KeyPress (KeyAscii As Integer)
  115. Select Case KeyAscii
  116.     Case Is = 27    '///// Escape Key was pressed - Undo changes in current field
  117.     KeyAscii = 0
  118.     %CONTROLNAME% = GotFocusValue
  119.     Case Is = 13    '///// Go to next control in tab order
  120.     KeyAscii = 0
  121.     SendKeys "{Tab}"
  122.     Case Else 'If not in edit mode or add mode then begin mode edit
  123.     If ModAppend = 0 and ModEdit = 0 Then EditRecord
  124. End Select
  125. End Sub
  126. Sub %CONTROLNAME%_KeyDown (KeyCode As Integer, Shift As Integer)
  127. Select Case KeyCode
  128.     Case  40    '\\\\\ Arrow Down - '///// Go to next control in tab order
  129.     SendKeys "{Tab}"
  130.     Case  38    '\\\\\ Arrow Up - '///// Go to previous control in tab order
  131.     SendKeys "+({Tab})"
  132. End Select
  133. End Sub
  134. _LOOP_
  135. Sub BeginEditOrAppend ()
  136.     btnNew.Enabled = False
  137.     btnDelete.Enabled = False
  138.     Data1.Enabled = False
  139.     btnSave.Enabled = True
  140.     btnCancel.Enabled = True
  141. End Sub
  142. Sub btnCancel_Click ()
  143. '\\\\\ Cancel changes made in the current record
  144. JustSetRec = 0
  145. If ModAppend = 1 Then
  146.     If Data1.Recordset.RecordCount <> 0 Then
  147.     Data1.Recordset.Bookmark = BookMrk
  148.     UpdateFields
  149.     NoMove = 0
  150.     End If
  151.     SetRecNum
  152.     Select Case Data1.Recordset.RecordCount
  153.     Case Is = 0
  154.         ClearAllFields
  155.     Case Else
  156.         UpdateFields
  157.     End Select
  158. End If
  159. EndEditOrAppend
  160. End Sub
  161. Sub btnDelete_Click ()
  162. Dim Answer
  163. JustSetRec = 0
  164. Select Case Data1.Recordset.RecordCount
  165.     Case Is = 0
  166.     MsgBox ("No record found for deletion.")
  167.     Case Is = 1
  168.     Answer = MsgBox("Delete record", 36, "Delete record ???")
  169.     If Answer = 7 Then 'Answer = No
  170.         Exit Sub
  171.     Else
  172.         Data1.Recordset.Delete
  173.         EndEditOrAppend
  174.         ClearAllFields
  175.         Data1.Caption = "No record"
  176.     End If
  177.     Case Else
  178.     Answer = MsgBox("Delete record", 36, "Delete record ???")
  179.     If Answer = 7 Then 'Answer = No
  180.         Exit Sub
  181.     Else
  182.         CurrRec = CurrRec - 1
  183.         Data1.Recordset.Delete
  184.         If CurrRec = TotRec Then
  185.         CurrRec = CurrRec + 1
  186.         Data1.Recordset.MovePrevious
  187.         Else
  188.         Data1.Recordset.MoveNext
  189.         End If
  190.     End If
  191. End Select
  192. End Sub
  193. Sub btnNew_Click ()
  194. JustSetRec = 0
  195. If Data1.Recordset.RecordCount <> 0 Then
  196.     BookMrk = Data1.Recordset.Bookmark
  197. End If
  198. BeginEditOrAppend
  199. ModAppend = 1
  200. Data1.Recordset.AddNew
  201. ClearAllFields
  202. '\\\\\ Add the next line if the primary key is counter
  203. fieldname
  204.  = Data1.Recordset(0)
  205. End Sub
  206. Sub btnSave_Click ()
  207. JustSetRec = 0
  208. SaveRecord
  209. EndEditOrAppend
  210. btnNew.SetFocus
  211. End Sub
  212. Sub ClearAllFields ()
  213. '\\\\\ Reset all the TextBox to a zero-length string
  214. DO_FOR TextBox
  215.     %CONTROLNAME% = ""
  216. _LOOP_
  217. End Sub
  218. Sub Data1_Reposition ()
  219. If ModAppend <> 1 And NoMove = 0 Then
  220.     UpdateFields
  221.     Dim BookMrk As String
  222.     Dim ds As dynaset
  223.     If JustUsedFind = True Then
  224.     Set ds = Data1.Recordset.Clone()
  225.     BookMrk = Data1.Recordset.Bookmark
  226.     ds.MoveFirst
  227.     CurrRec = 1
  228.     While ds.Bookmark <> BookMrk
  229.         CurrRec = CurrRec + 1
  230.         ds.MoveNext
  231.     Wend
  232.     JustUsedFind = False
  233.     End If
  234. If JustSetRec = 0 Then SetRecNum
  235. End If
  236. End Sub
  237. Sub Data1_Validate (Action As Integer, Save As Integer)
  238. Select Case Action
  239.     Case 1          'First
  240.     CurrRec = 1
  241.     Case 2          'Previous
  242.     If CurrRec = 1 Then Beep
  243.     If CurrRec <> 1 Then CurrRec = CurrRec - 1
  244.     Case 3          'Next
  245.     If CurrRec = TotRec Then Beep
  246.     If CurrRec <> TotRec Then CurrRec = CurrRec + 1
  247.     Case 4          'Last
  248.     CurrRec = TotRec
  249.     Case 5          'AddNew
  250.     Case 6          'Update
  251.     If ModAppend = 1 Then
  252.         NoMove = 0
  253.         TotRec = TotRec + 1
  254.         CurrRec = TotRec
  255.     End If
  256.     Case 7          'Delete
  257.     TotRec = TotRec - 1
  258.     Case 8
  259.     JustUsedFind = True
  260.     Case 9          'BookMark
  261.        'do nothing
  262.     Case 10          'Close
  263. End Select
  264. End Sub
  265. Sub EditRecord ()
  266. On Error GoTo EditRecord_Err
  267.     Data1.Recordset.Edit
  268.     BeginEditOrAppend
  269.     ModEdit = 1
  270. EditRecord_Err:
  271. Select Case Err
  272.     Case Is = 3021
  273.     btnNew_Click
  274.     Exit Sub
  275. End Select
  276. End Sub
  277. Sub EndEditOrAppend ()
  278.     btnNew.Enabled = True
  279.     btnDelete.Enabled = True
  280.     Data1.Enabled = True
  281.     btnSave.Enabled = False
  282.     btnCancel.Enabled = False
  283.     ModAppend = 0
  284.     ModEdit = 0
  285. End Sub
  286. Sub Form_Load ()
  287. screen.MousePointer = 11
  288. Dim DataDyn As dynaset
  289. ModAppend = 0 '\\\\\ Not in Mode Append
  290. NoMove = 0    '\\\\\ NoMove flags is off
  291. CurrRec = 1
  292. Data1.Refresh
  293. Set DataDyn = Data1.Recordset.Clone()
  294. If DataDyn.BOF = False Then
  295.     DataDyn.MoveLast
  296.     TotRec = DataDyn.RecordCount
  297.     TotRec = 0
  298. End If
  299.     DataDyn.Close
  300.     SetRecNum
  301. GoTo LoadEnd
  302.   Exit Sub
  303. LoadEnd:
  304.   screen.MousePointer = 0
  305. End Sub
  306. Sub SaveRecord ()
  307. '\\\\\ Save the current record in the database
  308. DO_FOR TextBox
  309. Data1.Recordset("%FIELDNAME%") = NullToNothing(%CONTROLNAME%)
  310. _LOOP_
  311. If ModAppend = 0 Then '\\\\\ If in Mode Edit
  312.     Data1.Recordset.Update
  313. Else '\\\\\ In Mode Append
  314.     Data1.Recordset.Update
  315.     Data1.Recordset.MoveLast
  316.     UpdateFields
  317. End If
  318.     SetRecNum
  319. End Sub
  320. Sub SetRecNum ()
  321. If Data1.EditMode <> 2 Then
  322.     If Data1.Recordset.BOF = True Then
  323.     Data1.Caption = "First of " & TotRec
  324.     ElseIf Data1.Recordset.EOF = True Then
  325.     Data1.Caption = "First of " & TotRec
  326.     Else
  327.     Data1.Caption = "Record " & CurrRec & " of " & TotRec
  328.     End If
  329. End If
  330. End Sub
  331. Sub UpdateFields ()
  332. '\\\\\ Read the current record and update all fields
  333. If Data1.Recordset.RecordCount > 0 Then
  334. DO_FOR TextBox
  335. %CONTROLNAME% = NullToNothing(Data1.Recordset("%FIELDNAME%"))
  336. _LOOP_
  337. End If
  338. End Sub
  339.